trait A {
  val C: Any
}

class B extends A {
  class C
  object C
}

trait AA {
  type C
  def C: Int => C
}

class BB extends AA {
  case class C(v: Int) // error
}
